With your WebSite server installed and running, you have just joined the fastest
growing and most exciting part of the Internet-the World Wide Web (WWW, or
simply, the Web). Technically, the Web is an information architecture that defines
the components of a global information system and how they work together. Practically, the Web is a collection of documents scattered worldwide and connected
by hypertext links. Web documents can be text, graphics, video, audio, or any
digital media, making the World Wide Web a rich multimedia environment. Web
documents can even be virtual-created by programs that provide specific,
real-time information to the viewer, but not existing in a static form.
<P>
The best way to grasp the Web is to spend time browsing (or ``surfing'') it with a
graphical Web browser. The browser allows you to travel the Web from document to document via hypertext links. But you didn't buy WebSite to surf the
Web; you bought it to be a <I>destination</I> on the Web. People will point their
browsers at <I>your</I> web and come back again if they find it interesting and useful.
<P>
The next step is to explore WebSite and learn how it can help you create the kind
of destination you want others to reach. WebSite includes tools for building your
web: WebView, Image Map Editor, and WebIndex. It also includes tools for
administering your server, such as controlling access and monitoring activity.
<P>
In this chapter, we first cover some basic Web concepts to give you a foundation
and familiarity with terminology. Next, we take a high-level tour of the WebSite
applications followed by a brief discussion of security and performance considerations. Finally, we end with some ideas for using your web to prime your imagination and prepare you for the next step, the topic of Section 2, building your own
web.
<H2>
Basic Web Concepts
</H2>
The World Wide Web is based on a few key concepts. We've already mentioned
hypertext, the concept of linking documents in non-linear relationships. The
client/server relationship and the way Web browsers and servers work together is
another important concept. Finally, the three specifications on which the Web is
based are important to understand. These specifications are:
<UL>
<LI>
Hypertext Markup Language (HTML) for creating Web text documents
<P>
<LI>
Uniform Resource Locators (URLs) for global addressing of Web documents
<P>
<LI>
Hypertext Transfer Protocol (HTTP) for handling communications between
Web servers and browsers
</UL>
In this section we briefly describe these key concepts and specifications.
<H3>
Hypertext
</H3>
When Tim Berners-Lee decided to develop the World Wide Web using hypertext
technology, he did away with the typical linear approach to books. You're
familiar with that: you open a book, skim the table of contents, and go to a
specific topic. To find similar information in the same book, you may have to
check the index (or a cross reference) and turn there.
<P>
Hypertext on the other hand allows for many relations within a document <I>and
between</I> documents. Hypertext links in a web document allow the reader to
instantly find additional information, which may be text, graphics, video, or audio
and may be located half a world away! ``Web'' is an apt term to picture how hypertext works on the Internet, where links can span computers around the globe. By
using hypertext as a navigational system, users can move freely from one document to another on the Internet, regardless of where the documents are located.
<H3>
What Is a World Wide Web Browser?
</H3>
The Web is based on client/server architecture. Simply put, a server holds documents which a client requests. On the Web, the client is called a browser. A Web
browser takes a user's request (in the form of a URL, explained below), retrieves
the document from the proper Web server, interprets the contents, and presents it
to the user.
<P>
A graphical Web browser, such as Mosaic, can display text and GIF graphics. Web
browsers have varying capabilities of manipulating the display of text. We recommend you test your web documents on several browsers to verify their proper
appearance.
<P>
A Web browser can also be configured to automatically call external viewers,
such as Lview, Wham, and MPEGPlay, or other applications to properly display
specific types of documents. Web browsers are becoming more sophisticated
every day with more and more capabilities being built in. It is important that you
keep up on browser improvements so that the documents on your web take full
advantage of new features.
<H3>
What Is a World Wide Web Server?
</H3>
The other half of the client/server relationship is the server. On the Web, a server
houses documents and returns them to a Web client when requested. As its name
implies, a server ``serves'' up the document to the client. The WebSite server is a
fully featured Web server providing mapping capabilities, basic user authentication and access control, automatic directory indexing, and logging. These topics
are discussed in detail in Section 3 of this book.
<P>
Web servers not only return text and multimedia documents to browsers, they can
also execute special programs that enable them to act as gateways to other applications or information resources. These programs are called Common Gateway
Interface (CGI) programs. WebSite supports CGIs for the Windows environment,
the standard (POSIX) environment, and the DOS environment.
<P>
For example, a Windows CGI program could execute a request for data from a
Microsoft Access database or a calculation from a Lotus 123 spreadsheet.
WebSite's support of Windows CGIs makes it unique among Web servers. To
create Windows CGI programs for WebSite, you use Visual Basic. Section 4 of this
book provides a detailed discussion of the Common Gateway Interface.
<HR>
<blockquote>
<H3>
A Brief History of the World Wide Web
</H3>
The World Wide Web originated in 1989 at the European Particle Physics Laboratory (CERN) in Geneva, Switzerland. Tim Berners-Lee, an Oxford University
graduate who came to CERN with a background in text processing and
real-time communications, wanted to create a new kind of information system in
which researchers could collaborate and exchange information during the
course of a project. He saw the need for physicists to collaborate in real time,
and not just on one project, but on many.
<P>
Tim used hypertext technology to link together a web of documents that could
be traversed in any manner to seek out information. In cooperation with others
at CERN, Tim defined an Internet-based architecture using open, public specifications and free, sample implementations for both clients and servers. The
team at CERN implemented a line-mode browser, which is the lowest common
denominator among browsers and can be used from almost any kind of terminal. Lynx, a browser with a full-screen interface, was later developed at the
University of Kansas. Although these browsers supported the hypertext environment, they did not support graphic or multimedia elements.
<P>
The widespread appeal of the Web did not come until 1993 with the release
of Mosaic, a graphical browser. Marc Andreessen, a student at the University
of Illinois at Urbana Champaign (UIUC), was working part-time at the National
Center for Supercomputing Applications (NCSA) at the university. His job was
to build tools for scientific visualization. Out of that work came Mosaic, a Web
browser with an easy-to-use interface that lets you click on a link to navigate
the Web, as well as the ability to display graphics. Extending Mosaic with external viewers added multimedia capability.
<P>
The World Wide Web and graphical browsers have made the Internet important beyond the scientific or educational community. Most references you see
to the Internet in consumer or business-oriented settings are to the World Wide
Web. Generally you'll see a picture of Mosaic or another graphical browser
showing a home page. The Web has made an exciting contribution to the information age. We will continue to see refinements to Web servers and browsers and a major shift in the information publishing paradigm.
</blockquote>
<HR>
<H3>
Hypertext Markup Language (HTML)
</H3>
Text documents on the Web are ASCII (plain text) files that contain codes of a
special tagging language called Hypertext Markup Language (HTML). We discuss
HTML in much greater detail in Chapter 5, but here is a brief overview.
<P>
HTML describes the structure of a document but not its exact formatting. That is,
you can identify some text as a top-level heading with a special code:
<blockquote>
<pre>
<H1>Hypertext Markup Language (HTML)</H1>
</pre>
</blockquote>
However, how that text looks to the user depends on the browser. The head will
certainly stand out, but it doesn't mean it will appear as 18-point Helvetica boldface while the body text is 12-point Times Roman. Working with HTML means
adjusting your thinking away from WYSIWYG (what you see is what you get)
desktop publishing to deciding what role an element plays in your document. Is it
a head? Is it text? Is it a list? In many ways, HTML formatting simplifies the life of
an author because if concentrates on content, not format.
<P>
The most powerful part of HTML is the ability to imbed hypertext links in documents. As you guessed, links have special tags. HTML also includes tags that ask
the user for input, either with simple questions or complex forms.
<P>
The current version of HTML is version 2.0. It is based on some of the concepts
of SGML, the Standard Generalized Markup Language, which is an ISO standard
used for marking up documents for both print and online publication. The next
version of the HTML specification, HTML 3.0, will move HTML into full SGML
compliance. HTML 3.0 was previously called HTML+.
<H3>
Global Addressing: URLs
</H3>
With documents residing on Web servers around the world, how do Web
browsers know where to find a specific document? Every document on the Web
has a unique address called a Uniform Resource Locator, or URL. You can think
of URLs as a global addressing system that provides several pieces of information
to the Web browser.
<P>
Let's look at the URL for the list of external viewers at the NCSA at the University
The first part of the URL, <I>http:</I>, tells what protocol is used to reach the target
server. In this URL the protocol is HTTP, which means this is a Web server (yes,
you can reach FTP servers and Gopher servers by using URLs with the correct
protocol). The rest of the URL is the path for the document. The server name is
first (<I>www.ncsa.uiuc.edu</I>), followed by the full URL path of the document
<I>viewers.html</I>.
<P>
The URL path is <I>not</I> necessarily the same as the physical path of the file on the
server. The URL path is determined by how the web is mapped on the server.
Chapter 8 covers mapping in detail; the important thing to remember now is that
the physical path and the URL path may have absolutely no correlation to each
other.
<P>
Often URLs don't include filenames. For example:
<blockquote>
<pre>
http://gnn.com/gnn/
</pre>
</blockquote>
The browser can locate the server and a directory within the server's web, but not
a specific document. Which document to return is up to the server. If the server
has a default home page or index file defined (you remember doing this during
installation), and a file by that name exists in the specified URL directory, the
server returns that document. If the file doesn't exist, the server returns a directory
index, or listing. The server can also be configured to return nothing to protect
sensitive information. Automatic directory indexing, with its many features, is
discussed in Chapter 9.
<P>
URLs come in a variety of shapes and sizes. Sometimes they won't include the
protocol, and other times pieces of the path will be missing or relative. We
discuss these forms of URLs as we encounter them in specific instances.
<H3>
HTTP
</H3>
The ``glue'' that holds the Web together is the Hypertext Transfer Protocol (HTTP).
Web browsers and Web servers use HTTP when requesting and returning documents. In HTTP, every document request from a Web browser to a Web server is
a new connection. For example, when a Web browser requests an HTML document from a Web server, the connection is opened, the document is transferred,
and the connection is closed.
<P>
The current version of HTTP is 1.0 (often written as HTTP/1.0). WebSite meets
the HTTP/1.0 specification and includes all the required features. If you're interested, the HTTP/1.0 specification is available through WebSite Central.
<P>
One requirement of the HTTP protocol helps Web servers and browsers work in
harmony. Every time a Web server returns a document, it must include its content
type. The browser uses the content type to determine how to display the document. Text documents and inline graphics are displayed in the browser while
video or audio content types require external viewers. The server is responsible
for determining the content type of each document. Content type mapping is
covered in Chapter 8.
<H2>
Overview of WebSite
</H2>
This high-level tour of WebSite touches briefly on each of the WebSite applications, describing some special features and capabilities and referring you to other
chapters in this book for more information. We also discuss some security and
performance concerns.
<H3>
WebSite Applications
</H3>
Figure 3-1 shows the WebSite program group. Each application is represented by
a special icon. You can start any WebSite application by double-clicking on its
icon. Some applications can be started in other ways, as noted in their specific
chapters.
<P>
<HR>
<I>Figure 3-1: WebSite Program Group showing WebSite applications</I>
<P>
<IMG SRC="figs/ws_03_01.gif" ALT="(IMAGE)">
<HR>
<DL>
<DD>
<IMG SRC="figs/webserv.gif" ALT="(IMAGE)">
<BR>
<B>WebSite Server</B>
<DD>
The heart of WebSite, the server handles requests from clients
(browsers) for documents, whether they be text, graphic, multimedia, or virtual. The WebSite server is a 32-bit HTTP server
that runs under Windows NT or Windows 95. Under NT, the
server can run as an application or as a service. Usually the
server appears as an icon on your screen with the status shown
as either <I>idle</I> or <I>busy</I>. Configuring the server is the job of the
Server Admin application.
<P>
<DD>
<IMG SRC="figs/serv_adm.gif" ALT="(IMAGE)">
<BR>
<B>Server Admin</B>
<DD>
Server Admin lets you configure the WebSite server to meet the
needs of your environment. Although the setup utility handles
the basic configuration, you will probably want to enhance your
server by changing some settings. Mapping, automatic directory
indexing, access control, and logging parameters are set through
Server Admin. The General settings in Server Admin were
covered in Chapter 2; the other settings are covered in Section 3
(Chapters 8 to 11).
<P>
<DD>
<IMG SRC="figs/webview.gif" ALT="(IMAGE)">
<BR>
<B>WebView</B>
<DD>
WebView helps you build and manage your web by graphically
depicting it. WebView shows all hypertext links between and
within documents-internal or external, broken or complete.
WebView not only lets you see your web from a bird's eye
view, it also lets you edit individual files. In WebView you can
launch an appropriate application based on the file's type, or
you can drag a file into the desired application using WebView's
drag and drop capability. If you're building a new web, start
with WebView. If you are managing an existing web, use
WebView to make improvements and fix problems. To track
activity on your web, WebView includes a way to see current
logging data. WebView works on <I>any</I> web, not just the local
one. See Chapter 4 for a detailed description of WebView.
<P>
<DD>
<IMG SRC="figs/i_map.gif" ALT="(IMAGE)">
<BR>
<B>Image Map Editor</B>
<DD>
The Image Map Editor lets you graphically build clickable image
maps by defining hotspot shapes and then assigning those
shapes to target URLs. WebSite registers clickable image maps
internally, eliminating the linked sets of cryptic configuration
files used by other servers to create clickable image maps. See
Chapter 7 for a detailed description of the Image Map Editor.
<P>
<DD>
<IMG SRC="figs/webindex.gif" ALT="(IMAGE)">
<BR>
<B>WebIndex and WebFind</B>
<DD>
WebIndex and WebFind work together to provide full-text
search capability for users of your web. WebIndex appears as
an icon in the WebSite program group while WebFind is a CGI
program. WebIndex lets you create the index used in WebFind
searches. Before WebFind can work, you must run the
WebIndex program and indicate which portion of your Web is
to be searchable. WebFind is a powerful tool for users of your
Web. If you use WebFind, make it a prominent feature of your
web, perhaps with an iconified link. WebFind first displays a
search form for the user to complete and then executes the
search. See Chapter 6 for a more detailed description of
WebIndex and WebFind.
<P>
<DD>
<IMG SRC="figs/emosaic.gif" ALT="(IMAGE)">
<BR>
<B>Enhanced NCSA Mosaic (EMosaic)</B>
<DD>
Enhanced NCSA Mosaic, also referred to as EMosaic or simply
Mosaic, is supplied with WebSite to give you a fully featured
Web graphical browser. Other browsers are available; some are
distributed freely over the Internet while others are sold commercially. Since the display of web documents depends on how the
browser interprets HTML, we recommend you view your web
using different browsers just to see what others might see. For
more information on EMosaic, see <I>The Mosaic Handbook for
Microsoft Windows</I>, from O'Reilly & Associates.
</DL>
<H3>
Performance and Security Issues
</H3>
Before you make your web available, you probably have some questions about
performance and security. How much load can the server handle? Will it handle
requests fast enough in a busy environment? What will cause performance degradation? Will the rest of my files be safe if browsers have access to my web? Can I
impose additional security? If you've asked any of these questions, take a few
minutes to read this section.
<H4>
Performance
</H4>
The WebSite server is as robust as any Web server currently in use. Given the
same basic hardware setup (network connection, disk capacity, disk speed, CPU
type and speed, etc.), the WebSite server performs as well as any UNIX-based
Web server (and, historically, UNIX was the platform of choice for Internet
servers). In an equal hardware environment, WebSite is as fast or faster and can
handle an equal load.
<P>
In addition, WebSite fully supports symmetric multi-processing. Running on a
computer with multiple 486 CPUs, the server can saturate a T1 line. Running the
server on a single Pentium with a fast bus would have the same effect. In short,
server performance is limited only by the hardware being used. To improve
performance, we recommend upgrading your hardware.
<H4>
Security
</H4>
Security is certainly an issue of concern for server administrators. Unauthorized
access to computers and files on the Internet can range from annoying to disastrous depending on the intruder's intent and abilities. Even if your web is on a
private network or otherwise protected, you may still have some security
concerns.
<P>
Although no Internet service is 100% safe, the World Wide Web is safer by
design. If you think of the Web as a web, the limited nature of what a user can
see or have access to becomes clear. The web has boundaries, defined by the
document links. A Web client (browser) doesn't have the capability to freely
browse a server; it can only view documents that are part of the document tree,
beginning with the document root.
<P>
In addition, WebSite provides two standard (basic) methods of security:
<UL>
<LI>
Access control, which allows or denies access to the web (or portions of the
web) based on the Internet address or hostname of the Web browser. You
can control access on a global or per directory basis.
<P>
<LI>
User authentication, which allows or denies access to the web (or portions of
the web) based on username and password. Usernames and passwords are
specific to the server and are not related to usernames and groups established
on your system. Making someone a user on your server <I>does not</I> give them an
account on your computer.
</UL>
We will note other security concerns where appropriate. Perhaps the best advice
we can give to deal with security issues is to keep an eye out for any suspicious
activity on your server. You should also regularly check WebSite Central for security updates.
<H2>
Some Ideas for Using WebSite
</H2>
Now that you know about the Web in general and WebSite in specific, it's time to
think about how you will use your WebSite server.
<P>
Running a Web server is essentially a new way to publish information. Publishing
on the Web differs from traditional paper-based publishing by giving you the
ability to include multimedia elements, to link information from many locations,
to update and distribute information quickly, and to create virtual documents
from other sources and applications. Taking these general capabilities as a
jumping off point, let's look at some ways you might want to use WebSite.
<UL>
<LI>
For a self-employed businessperson or owner of a small business, a Web
server tells other people on the Internet about your business. Product or
service information, philosophy of business, biographies of key people, client
references, and pricing data are topics you may want to include. You can also
create forms for interactive contact with clients and potential clients. Registering your web with WebSite Central brings increased visibility.
<P>
<LI>
In a department or office that needs to share data, a WebSite server provides
a flexible, powerful tool for making that data readily available to others on
the network. For example, if you have information in a database or spreadsheet that changes often, WebSite lets you generate virtual documents using
current data from those applications. Someone needing the data won't have
to run the application; the WebSite CGI program makes the request and
displays the information in a web document. CGI programs that execute
Windows applications are an extremely powerful feature of WebSite. Note too
that this particular application of WebSite is an internal, departmental use and
does not require access to the Internet.
<P>
<LI>
Often, large companies have frequently updated procedural information to
share among employees. If you are responsible for updating and distributing
this information, you know how difficult it is to keep track of multiple copies.
If you receive updates regularly, you know how time consuming it is to file
the new procedures and delete the old. Putting procedures (or other
frequently updated information) on a WebSite server solves both the updating
and distribution problems. Updates are completed once and when the files
are loaded onto the WebSite server, the distribution is complete. The files
don't even have to be in HTML as long as users' browsers are configured to
correctly display other file types such as Microsoft Word or WordPerfect. If
the information is sensitive, you can restrict access to particular users or
groups of users. This solution also works well for companies with many locations around the world, since the Internet is an existing <I>global</I> network.
<P>
<LI>
A WebSite server is a great way for distributing weekly or monthly status
reports. Managers can update the files and put them on the server. For
constantly updated status reports, the web document can be a CGI-created
virtual document.
<P>
<LI>
You can also use WebSite to host a web that someone else has created. You
can even host multiple webs on your server for several different people, businesses, or organizations. Hosting a web for someone else requires that you
map the web properly and make sure all the links work properly. If you are
charged with managing the web, you will use a variety of WebSite tools.
<P>
<LI>
A WebSite server can be a great solution for busy educators. You can create a
web with links to course descriptions, current assignments, summer reading
lists, and class schedules. Your web can also have links to external resources
such as libraries or databases that your students need for research. You can
also write a CGI program for pulling students' grades from your electronic
grade book. Of course, you want to restrict the CGI program's URL to require
user authentication. Including a <I>mailto</I> URL on a web page leaves your
students no excuse for not communicating with you.
<P>
<LI>
If you belong to a club, civic organization, or church group, you probably
have information that is valuable to members and non-members alike. A
WebSite server is a perfect vehicle for storing and sharing that information.
You can include the history, current events, and biographies of officers and
leaders. News about special projects or needs can be set up in a What's New
page. If your club is dedicated to collectibles or special topics, your web can
include links to appropriate databases. A CGI program can be used for
collecting and posting comments from members. If the club members are far
apart, you can use your web for electing officers by creating a forms-based
ballot requiring user authentication.
<P>
<LI>
If you just want to have fun, use WebSite as a personal server. Put up a web
about your interests and your vision. Include photos, artwork, audio, and
video clips. Like-minded (or possibly unlike-minded) readers will gather
around your WebSite and create a virtual community. Changing your WebSite
often and making it interesting (as is true of interactions in any community) is
the key for a successful personal web.
</UL>
These are just a few ideas. We've referred to several features of WebSite in the
above list including access restrictions, mapping, forms, CGI programs, virtual
documents, and multimedia elements. The rest of this book describes these
features in detail. And don't forget to check WebSite Central for additional ideas.